package com.ruoyi.psi.quality.report.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 质检报告，数据传输对象，面向前端需求
 * @author lsy 2021.12.1
 * 修改：
 */
@Data
public class InspectReportDto {
    /**
     * 质检报告编号
     */
    @NotNull(message = "质检报告编号不能为空")
    @ApiModelProperty(value = "质检报告编号", required = true)
    private String inspectReportId;
    /**
     * 质检报告结果
     */
    @ApiModelProperty("质检报告结果")
    private String inspectReportResult;
    /**
     * 质检报告评分
     */
    @ApiModelProperty("质检报告评分")
    private String inspectReportScore;
    /**
     * 质检人编号
     */
    @ApiModelProperty("质检人编号")
    private String staffId;
    /**
     * 质检人名称
     */
    @ApiModelProperty("质检人名称")
    private String staffName;
    /**
     * 来源类型
     * 加工单 1
     * 委外 2
     * 采购 3
     */
    @ApiModelProperty("来源类型")
    private String sourceType;

    /**
     * 来源编号
     * 加工单编号 1
     * 委外 2
     * 采购订单编号 3
     */
    @ApiModelProperty("来源编号")
    private String sourceId;
    /**
     * 产品编号
     */
    @NotNull(message = "产品编号不能为空")
    @ApiModelProperty(value = "产品编号", required = true)
    private String produceId;
    /**
     * 类别编号
     */
    @ApiModelProperty("类别编号")
    @Excel(name = "类别编号")
    private String baseCategoryId;
    /**
     * 类别名称
     */
    @ApiModelProperty("类别名称")
    @Excel(name = "类别名称")
    private String baseCategoryName;
    /**
     * 产品名称
     */
    @ApiModelProperty("产品名称")
    @Excel(name = "产品名称")
    private String produceName;
    /**
     * 计量单位编号
     */
    @ApiModelProperty("计量单位编号")
    @Excel(name = "计量单位编号")
    private String baseUnitId;
    /**
     * 计量单位名称
     */
    @ApiModelProperty("计量单位名称")
    @Excel(name = "计量单位名称")
    private String baseUnit;
    /**
     * 产品规格
     */
    @ApiModelProperty("产品规格")
    @Excel(name = "产品规格")
    private String produceSpecs;
    /**
     * 客户/供应商名称
     * 加工单 - 客户名称
     * 采购入库 - 供应商名称
     */
    @ApiModelProperty("客户/供应商名称")
    private String sourceName;
    /**
     * 质检报告内容
     */
    @ApiModelProperty("质检报告内容")
    private String inspectReportContent;
    /**
     * 质检时间
     */
    @ApiModelProperty("质检时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private java.sql.Timestamp createTime;
    /**
     * 产品检验数量
     */
    @ApiModelProperty("产品检验数量")
    private Double inspectNumber;
    /**
     * 产品抽检数量
     */
    @ApiModelProperty("产品抽检数量")
    private Double spotCheckNumber;
    /**
     * 产品合格数量
     */
    @ApiModelProperty("产品合格数量")
    private Double inspectStandardNumber;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 质检报告详细表
     */
    @ApiModelProperty("质检报告详细表")
    private List<InspectReportList> inspectReportLists;
}
